#pragma once
#define CAT240HSRADARSPOKES (4096)
#define CAT240_HS_RADAR_LOG_TITLE ("$CAT240_HS")
#include "F:\work\radar\radar-recoder\RadarRecorder\Radarmanager\radar.h"
#include "HS_protocol.h"
#include "../radar_data_manager.h"
#include "../radar.h"
#include "randomsignalemitter.h"
class High_speed_acquisition_radar :public Radar
{
public:
    High_speed_acquisition_radar(boost::asio::io_service& io_service);
    virtual ~High_speed_acquisition_radar();

    virtual bool do_video_processer(const char *data, unsigned int length);
    virtual void do_status_processer(const char *data, unsigned int length, unsigned int radar_key = 0);
    virtual void StartOwnProcess();
    void SendCmd(const std::string &data);
    static int yiweixiang_jiaodu;
    static int yiweixiang_jvlidianshu;
    static double danweijuli_;
    double radar_liang_cheng_;
    static char yiweixiang_data[4096];
    static char yiweixiang_mubiao_data[300];
    
private:

    void OnRadarRangeChanged(unsigned int range);
    int Decode(unsigned char*, int);
    void Video_Message(unsigned char *Data , int);
    double GetBetween(const Cat240_HS_ItemHeader_t &spoke);

    char m_old_range;

    std::string m_single_data;
    unsigned short m_current_bearing;

    char m_radar_buffer[CAT240HSRADARSPOKES];

    unsigned int m_max_wave;
};

